using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Service.Data;
using System.Data.Common;
using Sinacor.Infra.Service.Security.Authorization;
//using Sinacor.Servico.Bovespa.BovespaBase.Enum; //incluido - esertorio - 200804171600 - ref issue ID0002947
using Sinacor.Servico.Bovespa.BovespaBase.Util; //incluido - esertorio - 200804171600 - ref issue ID0002947

namespace Sinacor.Servico.Bovespa.Comum.ResourceAccess
{
	/// <summary>
	/// Data : 17/04/2008
    /// Autor: Eduardo Sertorio
    /// Obs. : Criacao da classe para acesso a tabela TORPARMESP - esertorio - 200804171524 - ref issue ID0002947
	/// </summary>
    public class ParametrosEspeciais: BaseResourceAccess
	{
        public ParametrosEspeciais() : base(AuthorizationContext.Current.CompanyId) { }

		/// <summary>
		/// Data : 17/04/2007
		/// Autor: Eduardo Sertorio
        /// Obs. : Criacao do metodo para recuperar o parametro (Quantidade de Tempo para Casamento de Ordem) da tabela TORPARMESP - esertorio - 200804171530 - ref issue ID0002947
        /// Cada unidade equivale a aproximadamente 30 segundos.
        /// </summary>
		public int? RecuperarQuantidadeTempoCasamentoOrdem()
		{
			OracleDataBase dbParametros = this.DataBase;
            //TORPARMESP NR_QTDADE NUMBER(3) NULL No No 
            DbCommand dbCommand = dbParametros.GetSqlStringCommand("SELECT NR_QTDADE FROM TORPARMESP");
			int? retorno = Convert.ToInt32(dbParametros.ExecuteScalar(dbCommand));
            return retorno;
		}

        /// <summary>
        /// Data : 17/04/2007
        /// Autor: Eduardo Sertorio
        /// Obs. : Criacao do metodo para recuperar o parametro (Quantidade de Tempo para Calculo Financeiro) da tabela TORPARMESP - esertorio - 200804171530 - ref issue ID0002947
        /// Cada unidade equivale a aproximadamente 30 segundos.
        /// </summary>
        public int? RecuperarQuantidadeTempoCalculoFinanceiro()
        {
            OracleDataBase dbParametros = this.DataBase;
            //TORPARMESP NR_QTDFIN NUMBER(3) NULL No No 
            DbCommand dbCommand = dbParametros.GetSqlStringCommand("SELECT NR_QTDFIN FROM TORPARMESP");
            int? retorno = Convert.ToInt32(dbParametros.ExecuteScalar(dbCommand));
            return retorno;
        }

        ///// <summary>
        ///// Data : 17/04/2007
        ///// Autor: Eduardo Sertorio
        ///// Obs. : Criacao do metodo para recuperar o parametro (Tipo da Ordem Padrao da Empresa) da tabela TORPARMESP - esertorio - 200804171541 - ref issue ID0002947
        ///// Cada unidade equivale a aproximadamente 30 segundos.
        ///// </summary>
        //public List<BovespaBase.Enum.TipoOrdem> RecuperarTipoOrdemPadraoEmpresa()
        //{
        //    OracleDataBase dbParametros = this.DataBase;
        //    int? retorno = null;
        //    List<BovespaBase.Enum.TipoOrdem> response = null;            
        //    //TORPARMESP TP_ORDEM NUMBER(1) NULL No No 
        //    DbCommand dbCommand = dbParametros.GetSqlStringCommand("SELECT NVL(TP_ORDEM,0) FROM TORPARMESP");
        //    retorno = Convert.ToInt32(dbParametros.ExecuteScalar(dbCommand));

        //    if (retorno.HasValue)
        //        response = BovespaBase.Util.TipoOrdem.IntToListEnumTipoOrdem(retorno.Value);

        //    return response;
        //}
    }
}
